<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div id="div">

        {{msg}}
        <div>
            <!--
                v-model :语法糖  

                修饰符:
                v-model.number
                v-model.trim:消除两边的空格
                v-model.lazy:将input事件改为change事件

                从状态到视图的改变
                从视图到状态的改变

                单向：v-bind (:) 从状态到视图的改变
                从视图到状态:  input事件 v-on(@)
            -->
           双向 <input type="text" v-model.lazy="msg">
        </div>

        <div>
        双向原理:
            <!-- <input type="text" :value="msg" @input="onInput"> -->
            <!-- <input type="text" :value="msg" @change="msg = $event.target.value"> -->
        </div>

    </div>

    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    <script>

        var app = Vue.createApp({

            data: function () {
                return {
                    msg:'hello vue!!!'
                }
            },
            // 存放一些方法，供事件调用
            methods: {
                onInput(event){
                    this.msg = event.target.value;
                }
            },


        }).mount('#div');

    </script>
</body>

</html>